﻿#include "DarkSkinIncludes.h"

namespace vl
{
	namespace presentation
	{
		namespace user_resource
		{
			using namespace collections;
			using namespace stream;
			using namespace controls;

			class DarkSkinResourceReader
			{
			public:
				static const vint parserBufferLength = 1707; // 4399 bytes before compressing
				static const vint parserBufferBlock = 1024;
				static const vint parserBufferRemain = 683;
				static const vint parserBufferRows = 2;
				static const char* parserBuffer[2];

				static void ReadToStream(vl::stream::MemoryStream& stream)
				{
					DecompressStream(parserBuffer, true, parserBufferRows, parserBufferBlock, parserBufferRemain, stream);
				}
			};

			const char* DarkSkinResourceReader::parserBuffer[] = {
				"\x2F\x11\x00\x00\xA3\x06\x00\x00\x52\x00\x01\x82\x80\x00\x81\x80\x1E\x29\x65\x73\x2F\x35\x32\x3B\x31\x33\x26\x65\x74\x21\x24\x31\x32\x88\x10\x27\x61\x6D\x25\x3D\x12\x14\x21\x30\x39\x6B\x53\x2B\x29\x3E\x32\x10\x10\x2B\x65\x72\x33\x29\x3F\x36\x34\x8F\x18\x2E\x30\x22\x1E\x1C\x1C\x21\x32\x38\x65\x6E\x24\x39\x93\x31\x35\x85\x17\x34\xAF\x08\x8A\x8C\x86\x84\x88\x89\x14\x92\xBE\x05\x03\x82\x80\x05\xA6\x01\xCF\x81\x89\x2E\x33\x3A\x88\x37\x0E\x8D\x10\xA0\x0A\xAB\xA9\xAB\xAB\x0E\xD3\x34\x39\x3C\x35\x33\x01\xAD\x67\x81\x84\x2F\x33\x34\x03\xAC\xB7\x01\xD4\x25\x38\x34\x3F\x07\xAC\xBB\x01\xC3\x2C\x21\x33\x3B\x38\x8C\x8D\x08\xE3\x2F\x32\x34\x33\xAC\x01\xB4\x4D\xD2\x89\xC2\x8E\x88\x92\x90\x92\x86\x86\xCA\x1B\xA6\x04\xCA\x80\x21\x75\x74\x34\x2D\x91\xCD\xCF\xC4\xA8\x8A\xEB\xA3\x35\x3A\x8E\x34\x3A\xC3\x01\x5B\x82\x1B\xA0\x0C\xD7\xCA\xBE\x65\x6C\x24\x85\x32\xD4\xD1\x9C\x3A\xBE\x5B\xB9\xC6\x82\xD4\x9B\x21\x96\x74\x37\xC0\xBC\x12\xB4\xB1\x84\x9A\xC5\xE5\xA0\x0E\x39\x8B\x8E\x11\x11\x36\xE6\x21\x35\x3C\x34\x39\x17\x27\x76\x29\xB2\x29\x3B\x9B\x98\x1E\xC1\x6C\x03\xFE\x03\x16\x25\xF2\xF2\x1E\x2F\x60\xE2\xE8\xF9\xE5\x30\xE5\xB1\xCA\xCC\xDA\x9C\x83\x13\x29\xD9\x32\x63\x74\x2C\x8E\x37\xE9\xEE\x39\xED\xDD\x74\x4A\x7A\x1C\xE3\x66\x77\x79\x7A\x6F\x21\x74\x80\x0F\x62\x2B\x13\x83\x78\x30\x30\x07\x0D\x10\x43\x03\x18\x79\x83\x0F\xAC\x70\x7E\x7B\x1A\x86\x73\x1D\x50\xBD\x46\x60\x5D\x53\x23\x8C\x19\x1A\x55\x9E\x69\x80\x03\x88\x03\x63\x8D\x13\x89\x63\x2A\x8E\x65\x65\x50\x74\x84\x41\x1A\x62\x22\x1C\x66\x8C\x91\x76\x83\x42\x8D\x53\x23\x12\x1D\x82\x6C\x3C\x81\x64\x62\x03\x48\x64\x15\x18\x62\x06\x96\x63\x01\x5B\x50\x91\x5F\x5C\x74\x02\x1F\x18\x1E\x4E\x9B\x59\x02\x96\x02\x54\x1F\x19\x82\x56\x5B\x70\x1D\x96\x35\x96\x61\x43\x15\x24\x64\x1F\x1B\x1D\x64\x8D\x5C\x03\x56\x6F\x81\x47\x11\x18\x63\x07\x19\x4F\x6F\x6E\x26\x19\x1B\x19\x46\xA9\x60\x54\x92\x02\x48\x63\x10\x1C\x63\x9B\x5C\x53\x9F\x5B\x5D\x5D\x52\xA2\x83\xB0\x1F\x6D\x1B\x70\x32\x19\x43\x1C\x65\x24\x14\x07\x56\x97\xAA\x5F\x45\x48\x23\x6E\x13\x53\x42\x0D\x65\x1E\x0B\x18\x84\x80\xA1\x40\x8B\x02\x63\x8F\x5D\x19\x8A\x43\x41\x6B\xA6\x8F\x6E\x16\xA8\x57\x89\x82\x4E\x13\x60\x6D\x21\x1C\x18\x55\x63\x2C\x15\x1F\x4E\xAD\x50\x51\xB0\x00\x2E\x2E\x0F\x09\xB1\xC7\x86\xB3\x9F\x18\x55\x09\x1E\x08\x1A\xB3\x91\x0B\x56\xB4\x01\x48\x46\x19\x59\xF9\x7B\x7C\xAE\xAF\x3B\x79\x0B\x56\xB7\x01\x48\xB2\xBA\xB1\xD6\x98\xBA\x7D\x4B\x2F\x14\x19\x1C\x4E\x36\x73\x12\x91\x1A\x70\x1B\x6A\x4B\x0B\x47\x35\x19\x19\xB9\xF8\x67\xBE\x18\x14\xBE\xA7\x14\x4B\xB3\xB3\xB1\x9E\x9A\x40\x53\x20\xAE\x42\x11\x09\xBB\x42\x1E\x8F\x02\x40\x96\xC1\x19\x86\x4B\x0B\x56\xC4\x01\x50\x12\xA6\x60\x90\xA9\x15\x59\x61\x5B\x7E\x94\x8B\x5D\x20\xF9\x5B\x5D\x5F\xAB\x81\x63\x60\x19\x44\x21\xCD\x50\x5E\x00\x14\x40\x4B\x1C\x9D\xBA\x0A\x0C\x15\x68\x25\x1A\x44\x06\x5B\x78\xC1\x42\xCB\x6B\x30\xC4\x4A\xCC\x98\x5A\x6D\x4A\x5C\x90\xBB\x51\x72\x06\x5B\x48\xDB\xCF\xA6\x3E\xEE\x12\xCF\x10\x35\xE3\x1B\x1A\x95\x78\x04\xD0\x1E\xD1\x65\x1D\x0B\x56\xD6\x4B\xEF\xC1\xCE\x0E\x52\x13\x4C\x49\xD0\x9B\x6E\x16\xD4\xD6\x1F\x1B\x59\xD9\xD7\x3D\xDF\xD5\x6D\x69\x74\x0C\x1C\x91\x6C\x67\xD5\x45\x19\x08\x5B\x78\xDC\xD9\xD3\x32\xEF\xD7\x6E\x5C\x74\x54\xD5\xDD\x70\x20\x1B\x55\xE3\xDE\x6E\xEC\x56\x6E\x69\x56\x3E\x47\x1D\x4A\x83\xE5\x1A\xD1\x53\x93\xFC\xCC\xDE\x0E\x8F\xBA\x82\xE2\xCD\x57\xF6\xD4\x0B\x56\x9F\xC8\xEF\xCE\x0E\x45\x38\x10\x1D\x18\x3A\x64\x47\x1A\x4D\x82\x72\x15\x47\x60\x91\xC7\xED\x52\xEC\x96\xDF\xD9\x11\x70\x6D\x02\x14\x9F\x1A\x67\x03\x95\x1E\x4E\x91\xE6\x0B\x56\xF0\xA2\xCE\xDA\x0E\x89\x56\x4D\xE5\x1B\x1D\xBF\x7E\xAD\x1A\x1B\x48\x25\x13\x44\xE4\x9C\xD8\xD3\xE7\x40\x95\xCC\xDF\xD4\xF2\x74\x0A\xF7\x1D\xE4\xD7\xC2\x49\xF6\xD7\xA3\xC0\xE1\xDF\x89\x74\x20\xF9\xD2\x40\xB5\xE5\xF2\xA5\x19\xDE\xD1\xEC\x07\x56\xF3\xC5\xFD\xDE\xDD\x64\xC3\xD5\xF6\xDD\xF5\xCD\x5D\xFD\xFB\xC6\x7E\x21\x70\x50\x09\x0C\xA9\x54\x7D\x68\x76\x61\x7D\x40\x63\x7D\x6D\xD1\x47\x0E\x77\x70\x1B\x70\x02\xC1\x37\x03\xAD\x15\x86\x7E\xC7\x73\x6C\x1B\x11\x7C\x6B\xA6\x1D\x80\x80\x32\x73\x08\x1A\x03\x34\x0F\xD1\x34\x0B\x09\x65\x19\x0D\xE4\x22\x0B\x2A\x16\x98\x82\x0A\x38\x5A\x46\x1B\x53\x07\x6B\x34\x34\x09\x08\xFF\x2B\x4D\xE4\x6B\x6D\x28\x1E\xA0\x80",
				"\x6C\x31\x8D\x25\xFE\x55\x21\x73\x16\x1B\x2E\x88\x2F\x81\x8A\x1B\x73\x4C\x0D\xB2\x32\x09\x0F\x44\x03\x48\x1C\x6A\x47\x0E\x37\x03\x89\x72\x27\x1B\x29\x16\xC9\x89\x47\x96\x0C\x8E\x89\x79\x17\x76\xCD\x5C\x7B\x86\xB5\x6C\x7A\x7B\xA3\x70\x85\x17\xCB\x8A\x56\x30\x91\x71\x05\x5B\x30\x8C\x17\xB2\x8F\x81\x85\x30\x0D\x74\xA7\x7A\x27\x15\xFB\x71\x38\xBD\x4D\x2E\x8F\x3F\x8A\x8C\x1D\x90\x80\x22\x37\x35\x0C\x83\x5B\x67\x8C\xF9\x46\x72\x90\x2F\x90\x81\x72\x7E\x83\x20\x20\xE8\x8C\x90\x25\x89\x0A\x30\x6E\x12\x6E\x18\x74\x6C\x8F\x32\x23\x03\x2B\x9F\x93\x8D\x4B\x72\x62\x0F\x33\x25\x0B\x8F\x13\x85\x0F\x0A\x5B\x2B\x94\x51\x99\x97\x23\xA6\x91\x8B\x1B\x53\x8B\x4C\x2B\x99\x35\x6C\x91\x68\x07\x56\x3A\x9E\x94\x52\xA6\x94\x86\xB2\x35\x4B\x2D\xFA\x79\x95\x50\x8D\x2E\x98\x81\x8A\x8B\x14\x39\x5D\x88\x54\x9D\x71\x38\xAD\x8D\x29\x34\xC9\x9B\x8D\x65\xAD\x8A\x96\xB4\x95\x8A\x33\xD8\x64\x79\xA6\x1D\x9C\x9A\x32\x96\x99\x13\x97\x93\x94\x0D\xB9\x93\x97\x8A\x8D\x81\x25\xD5\x9C\x98\x36\x00\x9E\x86\xDB\x96\x6F\x16\xCD\x23\x9E\x70\x83\x6F\x4B\x6C\x01\x4C\xBC\x51\x73\x7A\x39\x11\x75\x04\x5B\x20\xA2\x2B\xDE\x40\x4C\x3A\x22\x4D\x90\x87\x9D\x92\x0B\xCD\x2B\xA0\x7B\xA6\x68\x9F\xFA\x90\x0F\x1C\x11\x71\x75\xA6\x15\xA7\x87\x56\x42\x69\x1B\x41\x43\x49\x66\x83\x9E\x6C\x9D\x9C\x87\x40\x3E\x84\x92\x99\x48\x0C\xA3\x44\x48\x08\xEA\x64\x05\x2D\xC8\x59\x03\x2B\x2F\xB8\x83\x49\xC2\x44\x48\xF5\x50\x2C\x81\x97\x68\x08\x15\x2E\x76\x80\x7F\x8A\xA5\x85\xE9\x97\x70\x13\x65\x06\x0C\x3A\x28\xA6\xA3\x42\x60\xA5\x2A\x9D\x83\x21\x0F\xA5\xA2\x07\x16\x6F\x0D\xEF\x13\x5A\x76\x9F\x85\x98\x94\x41\xBF\x68\x0C\xE7\x08\x0C\xA3\xB4\xA0\xA9\xB8\x9D\x91\xFF\x03\x2F\x7F\xA7\x87\xAC\x0D\xF1\x7D\x91\x24\x82\x23\x93\x45\xB2\x66\x4B\x70\x07\xAD\x3C\xC1\x32\xA4\x81\x24\xA6\xAD\x3A\x16\x0B\x59\xAA\xAA\x27\x96\x9D\x91\xA6\x4D\x20\xB3\x0F\xFA\xAF\xAB\x0D\x9D\x92\x81\x00\x18\xA7\xD7\x56\x0B\xA7\xDD\x47\x87\x99\x77\x79\x6D\x56\xE5\x7C\x48\x7E\x8A\x63\xAE\x65\x1B\x03\x56\x1A\xB8\x83\x25\x62\x0E\xB2\x8F\xB8\x69\x05\x5B\x23\xB5\xCE\x8C\x4B\x85\x40\xB8\x81\x13\x54\x3A\x3E\xD9\x2E\x0D\x0C\xE6\x72\x80\x64\xC6\x93\x20\x64\xA6\xAA\x75\x65\x2E\xB4\x6C\xD4\x42\xB6\xB4\x66\x8A\xB5\x39\x35\x0D\x55\x98\xB2\x77\x81\x34\x77\xA9\x08\xA2\x8D\xEE\x1F\xA1\x72\x0F\x1B\x2E\xB9\xC0\xA6\x93\x3B\x9A\x31\xB4\xBB\x42\xA5\x29\xD7\xBF\x84\x41\xF9\x96\xA0\x78\x53\xB8\x87\x43\x5F\x7A\x5A\x92\xBD\xB2\x88\x9D\xB9\x82\xCC\xBD\x92\x1C\xCD\x2B\xBC\xED\xA6\xBA\x4C\xD8\x94\x8A\x2D\xC9\xA5\x8C\xA8\x37\xAA\x9D\x6F\xAF\xBC\xBC\x08\xA1\x79\xE1\x53\xB6\x78\xDB\xB1\xA3\x74\x98\xB4\xB6\x81\x36\xB0\xAF\x01\xC7\xBF\x74\xC1\x36\xAA\xC8\x9C\xB5\x29\x0F\xCE\xBD\x41\xE2\x45\xBF\x1E\xBF\xBF\x69\x75\x16\x2B\x1B\x6D\x08\x4E\x83\x89\x46\xA5\x30\xB7\xC3\xCC\x78\x9A\x3E\x38\x11\x72\x67\x4D\x28\xC7\x0F\xE8\x4A\x26\x1D\x9D\x96\x30",
				};

			class DarkSkinResourceLoaderPlugin : public Object, public IGuiPlugin
			{
			public:

				GUI_PLUGIN_NAME(GacGen_DarkSkinResourceLoader)
				{
					GUI_PLUGIN_DEPEND(GacUI_Res_Resource);
					GUI_PLUGIN_DEPEND(GacUI_Res_TypeResolvers);
#ifndef VCZH_DEBUG_NO_REFLECTION
					GUI_PLUGIN_DEPEND(GacUI_Instance_Reflection);
					GUI_PLUGIN_DEPEND(GacUI_Compiler_WorkflowTypeResolvers);
#endif
				}

				void Load()override
				{
					List<GuiResourceError> errors;
					MemoryStream resourceStream;
					DarkSkinResourceReader::ReadToStream(resourceStream);
					resourceStream.SeekFromBegin(0);
					GetResourceManager()->LoadResourceOrPending(resourceStream, GuiResourceUsage::InstanceClass);
				}

				void Unload()override
				{
				}
			};
			GUI_REGISTER_PLUGIN(DarkSkinResourceLoaderPlugin)
		}
	}
}
